/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: hp
 * Date: 2024-02-26
 * Time: 22:34
 */
public class Date {
    //this 成员变量
    //this 方法
    //this代表当前对象的引用
    public int year;
    public int month;
    public int day;

    //这里我们需要注意的是如果用户没有显示定义，编译器自动会生成一份默认的构造方法 这个构造方法一定是没有参数的
    //但是如果用户自己一旦定义的构造方法，编译器就不会默认生成一个构造方法

    //带有三个参数的构造方法
    public Date(int year,int month,int day) {//构造方法 不需要void 只需要名字和类名一样，并且只需要public来修饰
        //编译器自动调用，并且生命周期只有一次
        this.year = year;
        this.month = month;
        this.day = day;
        System.out.println("Date(int int int)的方法被调用");
    }

    //构造方法是可以重载的
    //无参数构造方法
    public Date() {
        //System.out.println("调用this");
        this(2024,1,2);//这个只能出现在当前构造方法的第一行，不然就会报错
        System.out.println("调用this");
        /*this.year = 2024;
        this.month = 2;
        this.day = 27;*/
    }

    public void setDaySame(int year,int month,int day) {//形参名字和成员变量名相同
        this.year = year;
        this.month = month;
        this.day = day;
    }

    public void printDatesame() {
        System.out.println(this.year + "/" + this.month + "/" + this.day);
    }

   /* public void setDay(int y,int m,int d) {
        year = y;
        month = m;
        day = d;
    }*/

    /*public void printDate() {
        System.out.println(year + "/" + month + "/" + day);
    }*/
}
